利用STM32的DAC+TIME产生可调频调幅正弦波

您所在的位置:网站首页 pwm输出正弦波 stm32 利用STM32的DAC+TIME产生可调频调幅正弦波

利用STM32的DAC+TIME产生可调频调幅正弦波

2024-07-11 19:13| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言一、如何产生正弦波?二、生成采样数值函数 1.函数生成DAC数组函数2.通过高级定时器TIM1更新中断控制DAC输出三、通过四个按钮控制输出的频率和幅度四、下面是我的实测波形,附上程序百度网盘总结

前言

        这个程序非常简单,说白了就是每隔一段时间改变引脚输出的电压,就能得到一个正弦波。

主要是为了方便大家调试FFT,有一个输入大于0小于3.3V取样信号,方便大家学习。

一、如何产生正弦波?

  本文采用查表法的方式生成一个数值范围为[0,4096]的正弦波数组,通过定时器更新中断不断以DAC进行输出,从而产生一个正弦波,并且通过改变定时器的预装载值(ARR)或者预分频系数(psc),改变进入中断的时间进而改变正弦波频率。

二、生成采样数值函数

代码如下:

void out_sine(void)  {     double index = 250;//250个数据     float pi = 3.141592;     int fori = 0;     float outv = 0;     for(;fori MAX?MIN:(VARR = F;// 改变预分配系数也是可行的,(PSC)TIM1->PSC =F; }

按下WKUP_PRES和KEY1_PRES,正弦波幅值变化,KEY2_PRES和KEY0_PRES控制频率变化。

三、下面是我的实测波形

 附上代码:链接:https://pan.baidu.com/s/1aXAH2Qu5vF8uVKZdXpQx0g?pwd=1234  提取码:1234

需要的自取哈,代码写的不好,就当交流学习。

总结

额,不知道写啥,有问题请留言,如果觉得有用的话,请点个赞,不胜感激。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3